Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

travis: Add builders without assertions #39754

Merged
merged 1 commit into from
Feb 15, 2017

Conversation

alexcrichton
Copy link
Member

This commit adds three new builders, one OSX, one Linux, and one MSVC, which
will produce "nightlies" with LLVM assertions disabled. Currently all nightly
releases have LLVM assertions enabled to catch bugs before they reach the
beta/stable channels. The beta/stable channels, however, do not have LLVM
assertions enabled.

Unfortunately though projects like Servo are stuck on nightlies for the near
future at least and are also suffering very long compile times. The purpose of
this commit is to provide artifacts to these projects which are not distributed
through normal channels (e.g. rustup) but are provided for developers to use
locally if need be.

Logistically these builds will all be uploaded to rustc-builds-alt instead of
the rustc-builds folder of the rust-lang-ci bucket. These builds will stay
there forever (until cleaned out if necessary) and there are no plans to
integrate this with rustup and/or the official release process.

This commit adds three new builders, one OSX, one Linux, and one MSVC, which
will produce "nightlies" with LLVM assertions disabled. Currently all nightly
releases have LLVM assertions enabled to catch bugs before they reach the
beta/stable channels. The beta/stable channels, however, do not have LLVM
assertions enabled.

Unfortunately though projects like Servo are stuck on nightlies for the near
future at least and are also suffering very long compile times. The purpose of
this commit is to provide artifacts to these projects which are not distributed
through normal channels (e.g. rustup) but are provided for developers to use
locally if need be.

Logistically these builds will all be uploaded to `rustc-builds-alt` instead of
the `rustc-builds` folder of the `rust-lang-ci` bucket. These builds will stay
there forever (until cleaned out if necessary) and there are no plans to
integrate this with rustup and/or the official release process.
@rust-highfive
Copy link
Collaborator

r? @aturon

(rust_highfive has picked a reviewer for you, use r? to override)

@Mark-Simulacrum
Copy link
Member

Would we prefer utilizing these for the perf infrastructure too? Or do assertions produce a relatively equivalent increase in compile time from commit to commit (and as such don't affect percentages)?

@alexcrichton
Copy link
Member Author

Perhaps! I suspect it wouldn't matter too much though

@aturon
Copy link
Member

aturon commented Feb 13, 2017

r? @brson

Thanks for doing this, @alexcrichton!

cc @larsbergstrom @metajack @nox

@rust-highfive rust-highfive assigned brson and unassigned aturon Feb 13, 2017
@larsbergstrom
Copy link
Contributor

Thank you very much for doing this! It'll have a huge positive impact on both our staff and contributors on Servo.

@nox
Copy link
Contributor

nox commented Feb 13, 2017

Yep, thanks everyone for this! (Sorry I'm too oldschool to just put a thumbsup emoji.)

@brson
Copy link
Contributor

brson commented Feb 13, 2017

@bors r+

It is a poor situation for us to be running 3 builders to produce builds just for servo, and I will be looking for alternatives.

@bors
Copy link
Contributor

bors commented Feb 13, 2017

📌 Commit 0340dde has been approved by brson

frewsxcv added a commit to frewsxcv/rust that referenced this pull request Feb 14, 2017
travis: Add builders without assertions

This commit adds three new builders, one OSX, one Linux, and one MSVC, which
will produce "nightlies" with LLVM assertions disabled. Currently all nightly
releases have LLVM assertions enabled to catch bugs before they reach the
beta/stable channels. The beta/stable channels, however, do not have LLVM
assertions enabled.

Unfortunately though projects like Servo are stuck on nightlies for the near
future at least and are also suffering very long compile times. The purpose of
this commit is to provide artifacts to these projects which are not distributed
through normal channels (e.g. rustup) but are provided for developers to use
locally if need be.

Logistically these builds will all be uploaded to `rustc-builds-alt` instead of
the `rustc-builds` folder of the `rust-lang-ci` bucket. These builds will stay
there forever (until cleaned out if necessary) and there are no plans to
integrate this with rustup and/or the official release process.
frewsxcv added a commit to frewsxcv/rust that referenced this pull request Feb 14, 2017
travis: Add builders without assertions

This commit adds three new builders, one OSX, one Linux, and one MSVC, which
will produce "nightlies" with LLVM assertions disabled. Currently all nightly
releases have LLVM assertions enabled to catch bugs before they reach the
beta/stable channels. The beta/stable channels, however, do not have LLVM
assertions enabled.

Unfortunately though projects like Servo are stuck on nightlies for the near
future at least and are also suffering very long compile times. The purpose of
this commit is to provide artifacts to these projects which are not distributed
through normal channels (e.g. rustup) but are provided for developers to use
locally if need be.

Logistically these builds will all be uploaded to `rustc-builds-alt` instead of
the `rustc-builds` folder of the `rust-lang-ci` bucket. These builds will stay
there forever (until cleaned out if necessary) and there are no plans to
integrate this with rustup and/or the official release process.
frewsxcv added a commit to frewsxcv/rust that referenced this pull request Feb 14, 2017
travis: Add builders without assertions

This commit adds three new builders, one OSX, one Linux, and one MSVC, which
will produce "nightlies" with LLVM assertions disabled. Currently all nightly
releases have LLVM assertions enabled to catch bugs before they reach the
beta/stable channels. The beta/stable channels, however, do not have LLVM
assertions enabled.

Unfortunately though projects like Servo are stuck on nightlies for the near
future at least and are also suffering very long compile times. The purpose of
this commit is to provide artifacts to these projects which are not distributed
through normal channels (e.g. rustup) but are provided for developers to use
locally if need be.

Logistically these builds will all be uploaded to `rustc-builds-alt` instead of
the `rustc-builds` folder of the `rust-lang-ci` bucket. These builds will stay
there forever (until cleaned out if necessary) and there are no plans to
integrate this with rustup and/or the official release process.
frewsxcv added a commit to frewsxcv/rust that referenced this pull request Feb 14, 2017
travis: Add builders without assertions

This commit adds three new builders, one OSX, one Linux, and one MSVC, which
will produce "nightlies" with LLVM assertions disabled. Currently all nightly
releases have LLVM assertions enabled to catch bugs before they reach the
beta/stable channels. The beta/stable channels, however, do not have LLVM
assertions enabled.

Unfortunately though projects like Servo are stuck on nightlies for the near
future at least and are also suffering very long compile times. The purpose of
this commit is to provide artifacts to these projects which are not distributed
through normal channels (e.g. rustup) but are provided for developers to use
locally if need be.

Logistically these builds will all be uploaded to `rustc-builds-alt` instead of
the `rustc-builds` folder of the `rust-lang-ci` bucket. These builds will stay
there forever (until cleaned out if necessary) and there are no plans to
integrate this with rustup and/or the official release process.
@SimonSapin
Copy link
Contributor

It is a poor situation for us to be running 3 builders to produce builds just for servo

Is Servo really the only project that runs on Nigthly and wants better compile times?

bors added a commit that referenced this pull request Feb 14, 2017
Rollup of 8 pull requests

- Successful merges: #39659, #39730, #39754, #39772, #39785, #39788, #39790, #39813
- Failed merges:
@bors bors merged commit 0340dde into rust-lang:master Feb 15, 2017
@alexcrichton alexcrichton deleted the less-assertions branch February 15, 2017 01:34
@aturon
Copy link
Member

aturon commented Feb 15, 2017

@SimonSapin

Is Servo really the only project that runs on Nigthly and wants better compile times?

Likely not, but to make these more readily available we'd need to adapt rustup, which would require significantly more work -- and we'd also like to keep as much of the nightly ecosystem as we can with assertions on, as they do catch bugs.

I'll bring up to the core team tomorrow whether to consider making these available via rustup.

@SimonSapin
Copy link
Contributor

SimonSapin commented Feb 15, 2017

I got some numbers: servo/servo#15559 (comment)

With an empty incremental compilation cache (or, presumably, with incremental compilation disabled), LLVM assertions add 16% to the compilation time in debug mode, 53% (!) in release mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants